home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / SNMA / FixList < prev    next >
Encoding:
Text File  |  2001-09-08  |  26.9 KB  |  728 lines

  1.  
  2.     Things to fix
  3.     ~~~~~~~~~~~~~
  4.  
  5.     4.aug.93        movem.l d0/a1   if An then something goes wrong...
  6.     fix             fixed 5.aug.93
  7.  
  8.     5.aug.93        Big fixes to the CalcExp to alloc * as CurPc and
  9.     fix             << and >> (now only < and >).  fixed 7-8.aug.93
  10.  
  11.     9.aug.93        CalcExp has something wrong in arg2nopar and
  12.     fix             following getvalue and nextoperator. It should sense
  13.             end of expression bit earlier, i.e. somewhere here or at
  14.             least after DoCalc. Fixed in late aug by total rewrite
  15.             of calcexp.
  16.  
  17.     11.aug.93       "asm a.o" , "asm a" both crashed...
  18.     ???             Should not crash even if we try to assemble complete
  19.             garbage.
  20.             don't crash anymore, don't know why. 26.aug.93
  21.  
  22.     11.aug.93       (10,za0,d0.w) for example is not translated to the new
  23.     fix             mode but old disp8(a0,d0) and then zero suppressed An
  24.             is not translated right. fixed 15.aug.93
  25.  
  26.     16.aug.93       ExpLen and GetSymLen won't handle " and ' marks
  27.     fix             right. Fixed in ~20.aug.93.
  28.  
  29.  
  30.     30.aug.93       1$  bra 1$  tulkitaan virheelliseksi numeroksi.
  31.     fix             fixed 5 minutes later.
  32.  
  33.     26.sep.93       If symbol dumbing on, handles only first section.
  34.     fix             fixed little later. In fact it crashed....now fixed.
  35.  
  36.     28.sep.93       cnop won't work anymore !!???. Won't align right.
  37.     fix             was in dc.b 'string'. fixed little later.
  38.  
  39.     2.oct.93        pass2 errors... when undefined symbols in macro...
  40.             error messages are little bit hmm...not so good.
  41.     part fix        little later. Now line refers to file.
  42.  
  43.     13.oct.93       dc.s %0101010011110111... went to null.
  44.     fix
  45.  
  46.     14.oct.93       Hmmm... lot's of problems with character handling...
  47.     fix             Things get wrong sizes...
  48.  
  49.     16.oct.93       a   dc.l    0
  50.     fix             max = *-a
  51.             moveq   #a,d0
  52.             a menee relativeksi, vaikka se pitäisi olla abs.
  53.             17.oct.93
  54.  
  55.     same day        dc.b    'a,c'   menee 'a ja c' ... korjaaa.....
  56.     fix             17.oct.93
  57.  
  58.     20.oct.93       68000:lla loppu muisti macrossa, kaatu...
  59.     fixed           Oltiin monen macron sisällä...
  60.  
  61.     21.oct.93       Ei oikein toimi kunnolla kun muisti loppuu kesken...
  62.     fixed            Source file jää auki, pientä...
  63.             Muistin loppuminen hoituu nyt. macro rutiinissa ei
  64.             testattu dead end virhettä yhdessä kriittisessä paikassa
  65.  
  66.     18.nov.93       and.w #~$f1ff,d0    overflow-> argh! Pieniä periaate-
  67.             ongelmia. No fix, not real bug, it is a feature.
  68.  
  69.  
  70.     20.nov.93       move.l #5,10(a5)    won't set offset data.
  71.     fix 2x.nov      A silly bug fixed.
  72.  
  73.     26.nov.93       cnop 0,4
  74.     fix 27.nov      ds.l 2
  75.             ei pitäisi tulla cnop koodia. Vaan tulee.
  76.             Oli ongelmia ds direktiivissä.
  77.  
  78.  
  79.     2.dec.93        tst.l (10)  goes to (BD,An,Xn) mode instead of
  80.     fix             absolute word addressing. Check Optimizer.
  81.             ParseAm had little problems, fixed. Optimizer ok.
  82.  
  83.  
  84.     6.dec.93        local symbols won't work. (.abba equ 10).
  85.     fix             little bug, now does
  86.  
  87.     7.dec.93        F040 liput fpu käskyihin!
  88.     fix
  89.  
  90.     14.dec.93       LineCount ihan päin persettä.
  91.     fix             21.dec.93   nea9 uupui globalista.
  92.  
  93.     v1.39
  94.     15.jan.94       include ilman parametria kaataa...
  95.     fix             tarkistus puuttui yhestä paikkaa
  96.  
  97.     v1.40
  98.     21.jan.94       bss hunk chippiin tai fastiin kopioi datan.
  99.     fixed
  100.  
  101.  
  102.     7.apr.94        Huh! (data,An,Xn) generates always D0 in Xn when
  103.     fix             'data' is defined after that line. Seems to be undef
  104.             solving problem. Big BUG!!!.
  105.             Hmm, find more problems from the Opt module. fixed.
  106.             This one was in PutEa routine. It didn't set extension
  107.             word if undefined or relative disp8(An,Xn)
  108.  
  109.     7.apr.94        more problems (.tbl,d0.w) went to disp8(An,Xn) urf.
  110.     fix             ea handling had some problems
  111.  
  112.     29.may.94       include a:abba.i causes problems: Treats : as a separator
  113.     fix              not as a device name.
  114.             Tarkistaako HandleFile että file eikä dir, myös inc_hadnlefile ?
  115.  
  116.     same day        Kun macro jo määritelty, macroa aletaan kääntämään
  117.     fix             normaalisti.
  118.  
  119.     same day        ifle tai ifgt häikkää... kokeile devices/prtbase.i
  120.     fix             ift did signed check
  121.  
  122.     sameday         Z:lla alkavat symbolin nimet tulkataan ZAn rekisteriksi.
  123.     fix             huh huh. Taitaa olla aika päästä eroon koko Zan hommasta.
  124.             fixed
  125.  
  126.     2.jun.94        movep d0,0(a0) ei salli 0:aa displacementiksi.
  127.     fix             Vika on siinä että SNMA optimoi nollan pois.
  128.  
  129.  
  130.     same day        Jos bsr.l somewhere  toiseen moduleen, pitäisi varoittaa!
  131.  
  132.     3.jun.94        dc.b 'abba'10   niin tulee 'abba10' stringgi.
  133.  
  134.     13.jun.94       abba    =   label+2     , jos label on osoite niin menee
  135.             silti absolute symboliksi. Uupui yksi expflag asetus.
  136.  
  137.     17.jun.94       ins_size is sometimes long. Make sure it is took for
  138.     fix             granted. FIX. yes no, problems... direktiivit joissa
  139.             ins_size on long eivät luo undef:fejä.
  140.  
  141.     18.jun.94       Varmista buffered filekäskyt, jos sattuu olemaan ei
  142.     fix             bufferoituja niin flush() väliin. tarkistettu.
  143.  
  144.     same day        dc plus muut vastaavat eivät putsaa ea2:en mode kenttää
  145.     fix             ja jos edellinen käsky sattui olemaan semmonen missä
  146.             tämä kenttä oli käytössä (siisjoku kahden operandin käsky,
  147.             direktiivejä ei käsitellä HandleEA:lla joka asettaa ne)
  148.             niin makeinst tottakai otti sen huomioon.
  149.             Selvittiin asettamalla nea2+eff_mode(a4) -1:ksi.
  150.  
  151.     23.jun.94       equ_c ei tajua tarkistaa josko symboli sattuisi olemaan
  152.             tyyppiä REL-REL, joka täytyy lisätä undef listaan mutta
  153.             ei ole silti relative. Tämä toimii V1.70:ssa mutta siinä
  154.             vissiin oli jotain muuta häikkää...hitto....
  155.  
  156.     11.JUL.94       WriteXdef kirjoittaa xdef ext hommelit jokaiseen sectioon.
  157.     fix             Korjattu myös setxdef jos xdef symboli oli undef niin
  158.             virheviestiin tuli kaikki koska FailPtr osoitti
  159.             tiedoston loppuun.
  160.  
  161.     13.jul.94        luo xref rakenteita (hunk_ext) object koodiin
  162.     fix             turhaan jos symbolin käytön välissä toinen symboli.
  163.             pitäisi laittaa samaan nippuun.
  164.  
  165.     18.jul.94       Listing file: eka osa menee pikkasen liian pitkälle.
  166.     fix
  167.  
  168.     21.jul.94       section : StripQuot ekasta paramerista, tarkista myös
  169.     fix             jos ei koodia ennen ekaa sectionia. Itse asiassa koko
  170.             hunkki homma on pikkasen turhan sekava.
  171.  
  172.     27.jul.94       Hihhei (expression)(An[,Xn]) ei oikein skulaa. Taidanpa
  173.     fix         myös tietää miksei. Parseri luulee uudeksi syntaksiksi ja
  174.             ei oikein snaijaa että tuo onkin vanha osoitusmoodi.
  175.  
  176.     8.aug.94        ObjectCode  writer varaa muistia BSS hunkille !
  177.     fix
  178.  
  179.     8.Aug.94        jos index scale niin ei tarkista tukeeko cpu sitä.
  180.     fix
  181.  
  182.     8.aug.94        BSS, ds.l 100000 niin väärä määrä (-2). Jaa-a. Luultavasti
  183.     fix             word-lng ongelma tai sitten ei...CNOP ongelma.
  184.  
  185.     9.aug.94        Listing file date stringissä roskaa.
  186.     fix
  187.     9.aug.94        asm.xdme argumenttien parsing ei snaijaa "ram disk:" iä.
  188.  
  189.     10.aug.94       040 specified code ei salli mitään, hey ho!.
  190.     fix             uupui cpu_A määrittelystä.
  191.  
  192.     10.aug.94       EXG a2,a4   menee exg a4,a2. Tosin enpä tiedä onko tuolla
  193.     fix             mitään väliä.Täytyy tarkistaa.
  194.             Ei enää.
  195.  
  196.     10.aug.94       lsr.w (sp) väärin.
  197.     fix             mokia handlerissä.
  198.  
  199.  
  200.     14.aug.94        Incbin label.
  201.     fix             Ei asettanut SetRelSymb.
  202.  
  203.     14.aug.94       Addgb läimii päätason symbolit ennen includeja.
  204.     fix             Asettaa päätason symboleihin global lipun.
  205.  
  206.     15.aug.94       Muisti loppuu-> kaatuu. Perhana. Mikähän siinä nyt on.
  207.             Muutama paikka löytyi, mistä kaatui.
  208.  
  209.     16.aug.94       (a3,d0.w) ei sallittu 68000 modessa. Periaatteessa oikein
  210.     fix(?)          mutta toisaalta tosta voi kyllä generoida 68000
  211.             ymmärtämän 0(a3,d0.w) moodin.
  212.  
  213.     16.aug.94       .s pääte ei toimi enää!!!
  214.     fix
  215.  
  216.     16.aug.94       fmovecr läimiii turhaa kamaa (luultavasti extenended)
  217.     fix
  218.  
  219.     18.aug.94       reg directiivi ei putsaa ea tai operands rakenteita.
  220.     fix             Oli tse asiassa siinä että rts (+ kumppanit) ei putsannut
  221.             operand taulua.
  222.  
  223.     19.aug.94       WB alku ->enforcer hit.
  224.     fix
  225.  
  226.     2.sep.94        bsr toiseen sectioniin optimoidaan, oivoi.
  227.     fix
  228.  
  229.     3.sep.94        divu.l....argh!
  230.     fix             HYPPY Väärään paikkaan.
  231.  
  232.     3.sep.94        index scale sallitaan mc68000 modessa, shit.
  233.  
  234.     9.oct.94        Multilevel opt ei toimi koska olen unohtanut ins_srcea
  235.     fix?            ja ins_destea kenttien muutokset jos optimoidaan. Tällöin
  236.             seuraavilla optimointikerroilla saatetaan kohdella väärin
  237.             optimoitua address modea koska se on jo optimoitu.
  238.             Tämä on ilmeisesti korjattu kokonaan.
  239.  
  240.  
  241.     14.oct.94       Expression: (A)A (esim) jää ikuiseen rekursioon. Umh...
  242.     fix             Täytyy vauhdittaa sen expression handlerin
  243.             uudellenkirjoittamista. Siinä tuo hoituu elegantimmin.
  244.             Nyt sen detectoiminen on aika työlästä. Luulisin.
  245.             GetExp ei tajua poistaa sulkuja ja niin se kutsuu
  246.             ainiaan.
  247.             Uusi expression handleri tehty.
  248.  
  249.      20 oct.94      Jos on kytketty label semmoiseen käskyyn joka on poistettu
  250.             eli siis niin...jaa...tarkistahan miten tämä menee.
  251.  
  252.     24.oct.94       Jos ei ollenkaan koodia niin 14 NOP:ia. (?!?).
  253.     FIXED           Joo oli unohtunut putsaus yhen testin jälkeen, korjattu
  254.             Opt modulissa, o_cnop_c.
  255.  
  256.     26.jan.95       local label .l menee garbageksi ja Enforcer jos
  257.     FIXED           esim " bsr .l"
  258.             Syy oli explen2:n force word/long tarkistus joka
  259.             luuli tätä forceksi.
  260.  
  261.  
  262.     27.jan.95       If CS=OFF (case-sensetive symbols) xdef <name> fails.
  263.     fixed           SetXDef called FindSymb2 instead of FindAbsRel which
  264.             handled case-sens. detection.
  265.  
  266.     27.jan.95       Jotain vikaa oli jossain pc optimoinnissa jos osoite oli
  267.             eri hunkissa tai jotain.
  268.  
  269.     6.feb.95        Include directory ei mene snmaoptions filestä.
  270.     fixed
  271.  
  272.     8.feb.95        VALUE equ.s INTVALUE        olis kiva jos toimisi
  273.             tyyppikonversiolla, ainakin jos INTVALUE todella on
  274.             integer.    fix
  275.  
  276.     13.feb.95       bsr optimoidaan joskus byteksi ja sitten se ei
  277.             mahdukkaan loppujen lopuksi.
  278.             cnoppeja ja stringejä. Luultavasti joku paddaus
  279.             kasvattaa sen isommaksi.
  280.  
  281.     20.feb.95       dc.b 0, dc.l 0, dc.b 0,0  niin ensimmäisen dc.b:n
  282.     fixed ?         alignaus päätyy myös jotenkin toiseen dc.b:een jonka
  283.             koko menee kolmeksi. Argh.
  284.  
  285.     22.may.95       ctrl-c (break) tulostaa myös kaikenmaailman varoituksia.
  286.             Olisi ehkä parempi ettei...
  287.  
  288.     26.may.95       ext_abs ja ext_def:t menee ristiin. Argh! Ei ole V1.97:ssa.
  289.     fixed.          Joku kumma beq/bne muunnos. Korjattu.
  290.  
  291.     30.may.95       relative-relative symboli on abs mutta xdef asettaa sen
  292.     fixed            silti ext_def (relative).
  293.  
  294.     6.jun.95        bfextu hommissa jotain vikaa. Wrong number of operands.
  295.     fixed           inst.i datoissa väärin maxoperands.
  296.  
  297.     6.jun.95        {0:2} päättyvät bitfield hommat aiheuttavat väärän virheen.
  298.     fixed
  299.  
  300.     11.jun.95       ADDGB hukkaa symboleita. Jos ekassa filessä muutama
  301.     fixed           symboli määritelty niin seuraavaassa filessä ekan
  302.             includen jälkeen  ei ensimmäisen filen symbolit ole
  303.             olemassa.
  304.             abshasht taulua ei auta putsata, kun ollaan siirretty
  305.             symbolit MoveHash:lla gb tauluun.
  306.             Samaa pätee macroihin, MoveHash siirtää nekin.
  307.  
  308.     26.jun.95       Parsing source vaiheessa muistin loppuminen aiheuttaa
  309.     fixed           Missing operand virheen. Ainakin jva:lla.
  310.             dc.b  <lista numeroita>.
  311.             Luultavasti korjattu, yksi palautusarvo -1:stä 1:ksi.
  312.  
  313.     26.jun.95       Immediate data doesn't fit in word ja byte viestit.
  314.     fix             Niitä ei tule jos määritellään myöhemmin. (Ratkaistaan
  315.             pass2:ssa). Eikä dc.w :ssa ollenkaan. Koko homman voisi
  316.             laittaa warning:ksi jonka voi saada pois päältä.
  317.             Nyt virheinä, jotka saa pois päältä.
  318.  
  319.     26.jun.95       Macrosta poistuttaessa , palauta assembly nest count
  320.     fix             siksi mikä se oli ennen macroa.
  321.             Palauttaa jos ENDC:tä puuttui macrosta. Toisinpäin
  322.             ei voi toimia, tosin se onkin jo virhe sorsassa, ja
  323.             siitä tulee ENDC without IFxx virhe.
  324.  
  325.     12.jul.95       data(An) kun "data" on label menee silti pc-relative
  326.             muodossa. Pitäisi käsitellä offsettina hunkin alusta,
  327.             mutta ei relocausta. Tässä kyllä on ongelmia, kun ottaa
  328.             huomioon että se on pass2:n ongelma tuo "data"n
  329.             lopullisen arvon laskeminen. No, sinne rr_<jotain>
  330.             rutiiniin vain tarkistus onko todella pc-relative.
  331.  
  332.     15.jul.95       SelfChecksum tarkistaa nyt SegListin avulla.
  333.     fix             Löytyy   pr_CLI->cli_Module tai WBStartup->sm_Segment.
  334.  
  335.     25.jul.95       extended data type isoilla/pienillä numeroilla. 1e-4931.!
  336.     fix             Ei mene nollaksi.
  337.             Oli ihan sekasin ne atoe ja atod ja atos rutiinit,
  338.             jos oli exponentti. Pitäisi varmistaa noi lukualueet...
  339.  
  340.     5.aug.95        BTST.W ei virhe.
  341.     fixed           Nyt on.
  342.  
  343.     12.aug.95       Bugireportti jossa paljon asioita...:
  344.  
  345.     :--------------------------------------------------------------------
  346.         movec   sp,d0
  347.     is not flagged as an error.
  348.             FIXED.  (SP=a7!) Liian vähän testiä.
  349.     :--------------------------------------------------------------------
  350.         fsave   -(a7)
  351.     produces:
  352.         "Src operand not legal for the inst."
  353.             FIXED -- data error
  354.     :--------------------------------------------------------------------
  355.  
  356.         bfffo   d4{0:32},d0
  357.     produces:
  358.         "Bitfield width has something wrong."
  359.             FIXED   -- 32 = 0, mutta vertailtiin 31:een
  360.                    Lisätty ISC tarkistus
  361.     :--------------------------------------------------------------------
  362.  
  363.         move.l  (zd4),d0
  364.     produces:
  365.         "Symbol undefined" (referring to zd4)
  366.                 ??? (za0) ajaa saman - mutta kai toi periaattessa
  367.                 pitäisi hyväksyä.
  368.             fixed (?)
  369.     :--------------------------------------------------------------------
  370.         cmpi.l  #$12345678,8(pc)
  371.     produces:
  372.         "Dest operand is not legel for the inst."
  373.                 FIXED   -- ei tajunnu ollenkaan. 000:ssa
  374.                 ei sallittu ja mun vanha 030 opas ei
  375.                 tiennyt.
  376.     :--------------------------------------------------------------------
  377.         pack    -(a1),-(a2),#$2121
  378.     produces:
  379.         "Value is too big for byte." (same for UNPK)
  380.                 FIXED   -- pieniä koko ongelmia.
  381.     :--------------------------------------------------------------------
  382.         move.l  ([$1234],d3.l,outdisp),d0
  383.     produces:
  384.         "Data cannot be relative." (Why?  It could be relocated.)
  385.  
  386.         Can it be used for something useful ? I mean, the way how the
  387.         outer displacement works. It is added to the value which is
  388.         fetched from the memory. I can't figure out any useful
  389.         purpose for relative outer displacement.
  390.  
  391.     :--------------------------------------------------------------------
  392.         move.l  ([$1234],d3.l,$abcd),d0
  393.     results:
  394.         2030 39A7 1234 0000 ABCD (Outer disp. could be shortened to word.)
  395.  
  396.         No. Outer displacement is sing-extended and then this number
  397.         would turn out to be negative. On the other hand, it is also
  398.         positive and out of 16 bit signed range. Because all internal
  399.         math  in snma is 32 bit, this number is positive, $ffffabcd
  400.         does the trick, if negative number is what is wanted.
  401.             NOFIX
  402.     :--------------------------------------------------------------------
  403.  
  404.     What I'm getting these from is a test file for Motorola's as68k
  405.     assembler.  The test file is based on the 68020, so I didn't check any
  406.  
  407.         XREF     9:asdf
  408.     causes:
  409.         GURU     #80000004
  410.                    FIXED, un-balanced stack
  411.     :--------------------------------------------------------------------
  412.         chk.l    (a6),d0
  413.     causes:
  414.         "Instruction does not support this size."
  415.                    FIXED , manuska virhe.
  416.     :--------------------------------------------------------------------
  417.         chk2.b   (a0),a0
  418.     causes:
  419.         "Instruction does not support this size."
  420.                 FIXED. Oli myös cmp2.b kun An. An kun ei
  421.                 normaalisti huoli byteä. Piti tehdä erikseen
  422.                 checkealeg_cmp2, joka ei tarkasta sitä.
  423.  
  424.     :--------------------------------------------------------------------
  425.         moves.b  a0,(a2)
  426.     causes:
  427.         "Instruction does not support this size."
  428.                 FIXED. Sama vika kuin chk2.b :ssä, tuossa yllä.
  429.  
  430.     :--------------------------------------------------------------------
  431.         tst      #immed
  432.     causes:
  433.  
  434.         "Src operand not legal for the inst."
  435.  
  436.         NOTE:  The 68020 users manual says it's not valid, but the
  437.         M68000 Family Programmers reference manual say it's valid for
  438.         020-040 (it doesn't have 060).
  439.                 FIXED
  440.     :--------------------------------------------------------------------
  441.         cas2.w   d0:d1,d0:d1,(a5):(d0)
  442.     causes:
  443.         "Third operand is not right."
  444.                 FIXED. Tää oli ihan perseellään.
  445.     :--------------------------------------------------------------------
  446.         tst      index+*(PC)
  447.     causes:
  448.         "Garbage in expression."
  449.  
  450.     :--------------------------------------------------------------------
  451.         fbra     label
  452.     causes:
  453.         "Unknown op-code."
  454.  
  455.         NOTE:  Generally accepted as a synonym for "fbf".
  456.                 FIXED   , lisättiin
  457.     :--------------------------------------------------------------------
  458.         fdbra    d0,label
  459.     causes:
  460.         "Unknown op-code."
  461.  
  462.         NOTE:  Generally accepted as a synonym for "fdbf".
  463.                 FIXED   , lisättiin
  464.     :--------------------------------------------------------------------
  465.         fsave    -(a4)
  466.     causes:
  467.         "Src operand not legen for the inst."
  468.             FIXED, inst data error
  469.  
  470.     :--------------------------------------------------------------------
  471.         pbcs     label
  472.     causes:
  473.         "Unknown op-code."
  474.             FIXED   ,, manuska virhe
  475.     :--------------------------------------------------------------------
  476.         pbcc     labepbcsl
  477.     causes:
  478.         "Unknown op-code."
  479.             FIXED   , manuska virhe
  480.     :--------------------------------------------------------------------
  481.         pdbcs    d0,label
  482.     causes:
  483.         "Unknown op-code."
  484.             FIXED   ,, manuska virhe
  485.     :--------------------------------------------------------------------
  486.         pdbcc    d0,label
  487.     causes:
  488.         "Unknown op-code."
  489.             FIXED   ,, manuska virhe
  490.     :--------------------------------------------------------------------
  491.         psave    -(sp)
  492.     causes:
  493.         "Src operand not legal for the inst."
  494.             FIXED   , osoitusmuodot sekaisin. Koodi myös väärin,
  495.             kuten myös frestore käskyssä.
  496.     :--------------------------------------------------------------------
  497.         pscs     (a6)
  498.     causes:
  499.         "Unknown op-code."
  500.             FIXED   ,, manuska virhe
  501.     :--------------------------------------------------------------------
  502.         pscc     (a5)
  503.     causes:
  504.         "Unknown op-code."
  505.             FIXED   , manuska virhe
  506.     :--------------------------------------------------------------------
  507.         ptrapcs
  508.     causes:
  509.         "Unknown op-code."
  510.             FIXED   , manuska virhe
  511.     :--------------------------------------------------------------------
  512.         ptrapcc
  513.     causes:
  514.         "Unknown op-code."
  515.             FIXED   , manuska virhe
  516.     :--------------------------------------------------------------------
  517.         pmove    psr,d0
  518.     causes:
  519.         "Src operand not legal for the inst."
  520.             Pitää paikkansa 030:lle. 68851 sallii tämän.
  521.             FIXED  -- uupui hyppy.
  522.     :--------------------------------------------------------------------
  523.  
  524.  
  525.     13.aug.95       "Instruction not supported by current cpu" viestin
  526.             FailPtr menee ekaan operandiin
  527.  
  528.     13.aug.95       Bitfield width ja offset arvoja ei asetata pass2:ssa.
  529.     fixed
  530.  
  531.     14.aug.95       xref lab; ";" mukaan nimeen. Aijai...
  532.     FIXED           puuttui wordlencomma rutiinin taulukosta.
  533.  
  534.     Katohan SetDataA0. Sen voisi kai tehdä pikkasen nopeammin.
  535.     siel on lea 8(a0),a0 esim..
  536.  
  537.     23.aug.95       (An,Xn) ei sallita vieläkään jos 68000 moodi päällä.
  538.     fixed           Senkun laitetaan samalla tavalla kuin jos BD olisi
  539.             forcattu byteen (uh, eihän sitä voi tehdä?).
  540.  
  541.     29.aug.95       pc-relative optimointi optimoi "tst label" vaikka
  542.     FIXED           cpu type on 68000/010.
  543.  
  544.     13.sep.95       btst #liianiso,<ea>  voisi heittää varoituksen.
  545.  
  546.     18.sep.95       macrossa:   \*upper(\1) kun \1 = '' (tyhjä , ei ole)
  547.     fixed           katkasee macron liian pian. a0:aa ei kasvatettu
  548.             jos tyhjä.
  549.  
  550.  
  551.     20.sep.95       (BD.l,An...) (BD.w,An...) forcing ei toimi enää!
  552.     fixed           Tai sitten optimoija ei tajua sitä enää.
  553.  
  554.     21.sep.95       Urgh!  Random crash. Kaatuu satunnaisesti...guru...
  555.             line-f tai buserror. Koodi karkaa. Ei ehdi kääntää
  556.             mitään (? luulisin...Parsing source viestiä ei tule).
  557.             Tämä on aika paha. Erittäin todennäköisesti snma:n vika.
  558.             Ensi epäilys: option file lataus, tai jotain muuta
  559.             startup sotkua. DOSsi kai sekoaa. Kenen lie vika?
  560.             Löysin yhden paikan jossa snma luki muistipaikasta jonka
  561.             osoite otettiin stringistä. Ties mitä se teki jos luki
  562.             sieltä sun täältä.
  563.  
  564.     24.sep.95       Relative Outer Disp mahdolliseksi.
  565.  
  566.     28.sep.95       @label
  567.     fixed                <jotain>
  568.             bra @label
  569.             tuottaa vikahypyn. Vika @ merkissä.
  570.  
  571.     30.sep.95       <ea>,{num:num} mahdolliseksi (pilkku!)
  572.  
  573.     30.sep.95       QUIET ei toimi.
  574.     fixed           Mitäköhän oli mielessä tonkin kanssa. Esti vain startup
  575.             viestin. Kai jotain Arexx juttuja...(?)
  576.             Hällä väliä, nyt se estää kaiken shell outputin.
  577.  
  578.     30.sep.95       equr ztab ; tst.l (ztab) ei toimi. Lukee kai z:n pois.
  579.     fixed           fixed. Pikku muutoksia getar and getindexreg rutiineihin.
  580.             Parseri on IHAN KAAMEA ! Kirjoitahan uusi.
  581.  
  582.     30.sep.95       Arexx command: set tabs 1 ol 4.
  583.     fixed           jäi luuppiin ikuisiksi ajoiksi.
  584.  
  585.     30.sep.95       Outer displacement ei asetu extension wordiin !
  586.     fixed           Oli vähän häikkää.
  587.  
  588.     4.oct.95        movec An,tc
  589.     fixed           reports as an error for any source address register
  590.  
  591.             Uh...ei ainakaan tällä hetkellä. Tosin 2.02:ssakin on.
  592.  
  593.             movec d5,itt0
  594.             assembles but generates code for
  595.             movec d5,tc
  596.             independent of the specified control register.
  597.  
  598.             Joo...nää toimii nyt. En tosin tajua miksi..,en ainakaan
  599.             muista koskeneeni movec koodaukseen. Ehkäpä olen... tai
  600.             sitten jotain muuta parseam:ssa fiksasi sen.
  601.  
  602.     4.oct.95        memory usage päin peetä arexx modessa, kun shell output
  603.     fixed           päällä.
  604.             Korjattu kai jotenkuten putsaamalla MaxUsedMem
  605.             InitDataArea:ssa.
  606.     5-nov-95        kaks bugia. dloads:snma_bug ja snma_bug2
  607.  
  608.     28-dec.95       CASESENS OFF ja xreffit ei skulaa. Symboleita ei tunnisteta.
  609.     fixed
  610.  
  611.     13-aug-96       move.l  label,10(a1)    when pc opt on optimizes
  612.     FIXED           10(a1) to (a1). Luultavasti siinä kun siirretään kybä
  613.             lähemmäksi jotenkin väärin jolloin otetaankin nolla.
  614.             Tai jotain vastaavaa.   Joo, optimoinnissa oli virhe.
  615.  
  616.     16.aug.96       If a symbol is defined as XREF, an equal symbol in the source
  617.             should cause an 'double symbol' error.
  618.  
  619.     16.aug.96       XDEFit aina ekaan hunkkiin.
  620.     FIXED           Otettiin XDEF:in paikasta hunkkinumero, eikö sen symbolin.
  621.             Helppo korjaus, SetXDef:iin vain hunkkinumeron siirto.
  622.  
  623.     20.aug.96       0(a0,d0) menee 020 muotoon vaikka 000 enabloitu myös.
  624.             Ongelma jos koodissa sekaisin 000 ja 020+ kamaa.
  625.             Varoitettu kyllä mutta ehkä voisi helpottaa jokin
  626.             systeemi.
  627.  
  628. ------- MM fixes:
  629.  
  630.     20.11.00    fixed quote parsing routine:
  631.     rev $110    "dc.b 'txt ''%s'''"
  632.                 was erroneously assembled as "txt '%s''"
  633.  
  634.     21.11.00    fixed various bitfield instructions, which all broke on
  635.     rev $111    pc-relative addressing modes; f.ex.:
  636.                 "bfffo ([lab,pc,d0.w],20){0:2},d0"
  637.                 (bad source ea table)
  638.  
  639.                 fixed bug in 8-bit displacement routine:
  640.                 "pmove.w mmusr,(1,a0,d0)"
  641.                 now assembles correctly
  642.  
  643.     22.11.00    fixed bugs in optimizing code - m_bd32od16 and m_bd32od32
  644.     rev $112    routines; code like
  645.                 "btst d1,([lab,pc],a0,2)"
  646.                 now assebles correctly (copyword routine trashed lab list)
  647.  
  648.     24.11.00    fixed \*TIME() macro routine crash (movem's were not in sync)
  649.     rev $114
  650.  
  651.     28.11.00    fixed pc-relative calculations of ds, dx, dcb and incbin:
  652.     rev $116    "   moveq #s,d0
  653.                     rts
  654.                 b   incbin bin
  655.                 s=*-b"
  656.                 now "s" is calculated correctly instead of being zero
  657.  
  658.     30.11.00    fixed heavy bugs in complex addressing modes like:
  659.     rev $117    "movea.l ([lab-DT,A4],8),A5"
  660.  
  661.                 fixed relative lab calculation in different sections (section
  662.                 inst code creator didn't reset pc in ins struct)
  663.  
  664.                 MOVEM opt is now OFF by default as it can change CCR hence
  665.                 should be considered dangerous
  666.  
  667.      2.12.00    fixed bug in ftst code, added "mc68851" and "mc68060"
  668.     rev $118    directives (though no real 68060 support yet)
  669.  
  670.     10.12.00    fixed FPU code (atod routine bug), inlined code from nsamlib
  671.     rev $119 
  672.  
  673.     13.12.00    fixed bug in dx code
  674.     rev $120
  675.  
  676.     18.12.00    fixed assembling of absolutes in memory indirect modes, like:
  677.     rev $121    "move.l ([lab]),d0"
  678.                 enabled optimizing of above to pc-rel mode, if possible
  679.  
  680.     20.12.00    fixed bugs in supressed pc (zpc) mode:
  681.     rev $122    "move.l (lab,zpc,d0.w),a0"
  682.  
  683.                 fixed bugs in address reg index mode:
  684.                 "move.l (lab,a0.w*2),d0"
  685.                 and added opt to pc-rel if possible
  686.  
  687.       7.1.01    fixed heavy bugs in indirect modes where both OD and BD were
  688.     rev $126    labels:
  689.                 "move.l ([lab,a0,a0],lab2),([lab,a0,a0],lab2)"
  690.  
  691.                 DATE macro in v (version) mode strips leading zeros now
  692.  
  693.      22.1.01    now dx directive is supported only when building an exe file
  694.     rev $128    (fixes nasty bugs when using linker)
  695.  
  696.      12.2.01    added JOPT switch to opt file and commandline
  697.     rev $130
  698.  
  699.      19.2.01    once again fixed StripQuot() ("" should now work as supposed)
  700.     rev $131    changed power operator from '^^' to more common '^'
  701.                 source no longer needs a linefeed or CR at end to work
  702.  
  703.      22.2.01    enhanced HandleComp() to allow relaxed syntax in An indirect
  704.     rev $132    modes, like An and BD swapped (Ax,BD) f.ex: 'lea (a0,10),a0'
  705.  
  706.      10.6.01    fixed an old bug in opt code: 'tst.l ($80,ax,dx)' was
  707.     rev $133    assembled as 'tst.l (-$80,ax,dx)'
  708.  
  709.      14.6.01    reworked arexx SET cmd
  710.     rev $134
  711.  
  712.      15.6.01    fixed nasty bug in read template routine (PORTNAME+AREXX)
  713.     rev $135
  714.  
  715.      22.6.01    rewritten cmdline and opt file parsing routines, changed some
  716.     rev $136    options to toggles, unified opt names
  717.  
  718.                 added auto-alignment to ds.b dcb.b and dx.b directives
  719.  
  720.      21.7.01    small internal fix (wrong error counter in REXX mode)
  721.     rev $137
  722.  
  723.      23.7.01    enhanced optimizing: more abs can be converted to pc-rel now
  724.     rev $138
  725.  
  726.      31.8.01    fixed some macro dependencies, added '.q' size to pmove, fixed
  727.     rev $140    xdef bugs with some instructions
  728.